package com.ruoyi.trainingManagement.service;

import java.util.List;
import com.ruoyi.trainingManagement.domain.CourseStudentInfo;


/**
 * 课程学生信息Service接口
 * 
 * @author chenxl
 * @date 2025-06-18
 */
public interface ICourseStudentInfoService 
{
    /**
     * 查询课程学生信息
     * 
     * @param id 课程学生信息主键
     * @return 课程学生信息
     */
    public CourseStudentInfo selectCourseStudentInfoById(String id);

    /**
     * 查询课程学生信息列表
     * 
     * @param courseStudentInfo 课程学生信息
     * @return 课程学生信息集合
     */
    public List<CourseStudentInfo> selectCourseStudentInfoList(CourseStudentInfo courseStudentInfo);

    /**
     * 新增课程学生信息
     * 
     * @param courseStudentInfo 课程学生信息
     * @return 结果
     */
    public int insertCourseStudentInfo(CourseStudentInfo courseStudentInfo);

    /**
     * 修改课程学生信息
     * 
     * @param courseStudentInfo 课程学生信息
     * @return 结果
     */
    public int updateCourseStudentInfo(CourseStudentInfo courseStudentInfo);

    /**
     * 批量删除课程学生信息
     * 
     * @param ids 需要删除的课程学生信息主键集合
     * @return 结果
     */
    public int deleteCourseStudentInfoByIds(String[] ids);

    /**
     * 删除课程学生信息信息
     * 
     * @param id 课程学生信息主键
     * @return 结果
     */
    public int deleteCourseStudentInfoById(String id);

    //创建selectByCourseScheduleDetailsId接口
    public List<CourseStudentInfo> selectByCourseScheduleDetailsId(String courseScheduleDetailsId);

    //调用selectStudentIdsByCourseScheduleDetailsId
    List<String> selectStudentIdsByCourseScheduleDetailsId(String courseScheduleDetailsId);


    //调用batchUpdateCourseScheduleDetailsId
    int batchUpdateCourseScheduleDetailsId(String targetCourseScheduleDetailsId, List<CourseStudentInfo> courseStudentInfoList);
}
